package com.agrm.good.service;

import com.agrm.model.common.dtos.PageRequestDto;
import com.agrm.model.common.dtos.PageResponseResult;
import com.agrm.model.common.dtos.ResponseResult;
import com.agrm.model.good.pojo.Good;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface GoodService extends IService<Good> {

    /**
     * 根据id查询商品详情 包含分类和品牌
     * @param id id
     * @return Good
     */
    Good getGoodDetailById(Integer id);

    /**
     * 根据分类ID查询该分类下的所有商品
     * @param categoryId 分类ID
     * @return 商品列表
     */
    List<Good> getGoodsByCategoryId(Integer categoryId);
    boolean updateQty(Integer goodId,Integer delta);
    Good findSeckillById(Integer id);

    List<Good> findAllSeckill();
    /**
     * 分页查询商品
     * @param pageRequestDto
     * @param name
     * @return
     */
    PageResponseResult getGoodBySearch(PageRequestDto pageRequestDto, String name);

    /**
     * 获取促销商品
     * @param categoryName
     * @return
     */
    ResponseResult getPromoGood(String categoryName);


    /**
     * 获取最热商品
     * @param categoryName
     * @return
     */
    ResponseResult getHotGood(List<String> categoryName);
}
